/*
* @Author: ludynice
* @Date:   2017-09-10 23:52:30
* @Last Modified by:   tianhc
* @Last Modified time: 2017-09-13 15:58:17
*/
'use strict'
var Hogan = require('hogan');
var conf = {
    serverHsot : ''
};
var _main = {
    request : function(param){
        var _this = this;
        $.ajax({
            type : param.method || 'get',
            url : param.url || '',
            dataType : param.type || 'json',
            data : param.data || '',
            success : function (res){
                // 请求成功
                if(0 === res.status){
                    typeof param.success === 'function' && param.success(res.data,res.msg);
                }
                // 没有登录状态，需要强制登录
                else if (10 === res.status){
                    _this.doLogin();
                }
                // 请求数据错误
                else if (1 === res.status){
                    typeof param.error === 'function' && param.error(res.msg);
                }
            },
            error : function(err){
                typeof param.error === 'function' && param.error(err.statusText);
            }
        });
    },
    // 统一登录处理
    doLogin : function(){
        window.location.href = '.user-login.html?redirect=' + encodeURIComponent(window.location.href);
    },
    //获取服务器地址
    getServerUrl : function(path){
        return conf.serverHsot + path; 
    },
    //获取url参数
    getUrlParam : function(name){
        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
        var result = window.location.search.substr(1).match(reg);
        return result ? decodeURIComponent(result[2]) : null;
    },
    //渲染html模板
    renderHtml : function(htmlTemplate,data){
        var template = Hogan.compile(htmlTemplate);
        return template.render(data);
    },
    //成功提示
    successTips : function(msg){
        alert(msg || '操作成功！');
    },
    //失败提示
    errorTips : function(msg){
        alert(msg || '出错了。。。');
    },
    //字段的验证，支持非空，手机，邮箱的判断
    validate : function(value,type){
        var value = $.trim(value);
        //非空
        if('require' === type){
            return !!value;
        }
        //phone
        if('phone' === type){
            return /^1\d{10}$/.test(value);
        }
        //email
        if('email' === type){
            return /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/.test(value);
        }
    },
    goHome : function(){
        window.location.href = './index.html';
    }
};
module.exports = _main;